home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / CED / cedscripts / SpreadViews.ced < prev    next >
Text File  |  1993-07-07  |  2KB  |  101 lines

  1. /*
  2. ** SpreadViews.ced
  3. **
  4. ** $VER: SpreadViews.ced 1.0.0 (2.6.93)
  5. **
  6. ** This script will make each view on the display the same size (or as close
  7. ** to the same size as possible).
  8. **
  9. ** This script requires CygnusEd Professional v3.5 (or later) to run.
  10. **
  11. ** Copyright © 1990-1993 ASDG, Incorporated  All Rights Reserved
  12. */
  13.  
  14.  
  15. OPTIONS RESULTS
  16.  
  17.  
  18. /*
  19. ** Calculate the desired number of rows per view.
  20. */
  21.  
  22. STATUS WINDOWHEIGHT            /* Find out how high the entire CED window is. */
  23. NumLines = (RESULT - 3) % 8        /* Three extra pixels in top title bar. */
  24.  
  25. STATUS TOTALNUMVIEWS            /* Find the number of views open. */
  26. NumViews = RESULT
  27. IF (NumViews = 1) THEN DO
  28.     CEDTOFRONT
  29.     OKAY1 'Only one view!'
  30.     EXIT 10
  31. END
  32. Desire = NumLines % NumViews        /* Now that we know the total number of lines */
  33.                     /* and the total number of views, we can calculate */
  34.                     /* how large each view should be. */
  35. Remainder = (NumLines - (Desire * NumViews))
  36. Desire = Desire - 1            /* Ignore title lines. */
  37. CurrView = 0                /* Store location of original view. */
  38.  
  39. /*
  40. ** Get to bottom view.
  41. */
  42.  
  43. STATUS PIXELTOPEDGE
  44. MaxY = RESULT
  45. NewRes = MaxY                /* Loop through all of the views, looking for the last one. */
  46. DO UNTIL (MaxY > NewRes)
  47.     MaxY = NewRes
  48.     NEXT VIEW
  49.     CurrView = CurrView + 1
  50.     STATUS PIXELTOPEDGE
  51.     NewRes = RESULT
  52. END
  53. PREVIOUS VIEW
  54. CurrView = CurrView - 1
  55.  
  56. /*
  57. ** Size each view from the bottom up.
  58. */
  59.  
  60. DO WHILE (NumViews > 1)
  61.     STATUS DISPLAYLINES
  62.     OrigLines = RESULT
  63.     Diff = OrigLines - Desire
  64.  
  65.     /*
  66.     ** Account for remainder if numbers aren't even.
  67.     */
  68.  
  69.     IF (Remainder > 0) THEN DO
  70.         Diff = Diff - 1
  71.         Remainder = Remainder - 1
  72.     END
  73.  
  74.     /*
  75.     ** Size the window.
  76.     */
  77.  
  78.     DO WHILE (Diff < 0)        /* Make the window larger if necessary */
  79.         GROW VIEW
  80.         Diff = Diff + 1
  81.     END
  82.     DO WHILE (Diff > 0)        /* Make the window smaller if necessary */
  83.         SHRINK VIEW
  84.         Diff = Diff - 1
  85.     END
  86.     PREVIOUS VIEW
  87.     CurrView = CurrView - 1
  88.     NumViews = NumViews - 1
  89. END
  90.  
  91. /*
  92. ** Return to original view.
  93. */
  94.  
  95. DO WHILE (CurrView < 0)
  96.     NEXT VIEW
  97.     CurrView = CurrView + 1
  98. END
  99.  
  100. EXIT 0
  101.